package com.lrkj.payfee.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lrkj.common.annotation.Excel;
import com.lrkj.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 租赁合同对象 tb_lease_pact
 *
 * @author yajun_ren
 * @date 2022-08-11
 */
@Data
public class LeasePact extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String pactNo;

    /** 甲方 */
    @Excel(name = "甲方")
    private String deptId;

    /** 甲方联系人 */
    @Excel(name = "甲方联系人")
    private String firstRelation;

    /** 甲方手机号码 */
    @Excel(name = "甲方手机号码")
    private String firstPhone;

    /** 乙方 */
    @Excel(name = "乙方")
    private String partyDept;

    /** 租户类型 */
    @Excel(name = "租户类型")
    private String leaseType;

    /** 法人代表 */
    @Excel(name = "法人代表")
    private String legalPerson;

    /** 固定电话 */
    @Excel(name = "固定电话")
    private String fixedPhone;

    /** 联系人 */
    @Excel(name = "联系人")
    private String partyPerson;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String partyPhone;

    /** 联系地址 */
    @Excel(name = "联系地址")
    private String partyAdd;

    /** 小区ID */
    @Excel(name = "小区ID")
    private String communityId;

    /** 楼栋ID */
    @Excel(name = "楼栋ID")
    private String floorId;

    /** 单元id */
    @Excel(name = "单元id")
    private String unitId;

    /** 房屋id */
    @Excel(name = "房屋id")
    private String roomId;

    /** 收费项目ID */
    @Excel(name = "收费项目ID")
    private String chargeItemId;

    /** 费用标准 */
    @Excel(name = "费用标准")
    private BigDecimal costMoney;

    /** 收费周期 */
    @Excel(name = "收费周期")
    private Long chargePeriod;

    /** 首批收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首批收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date forPayeeTime;

    /** 组织树 */
    @Excel(name = "组织树")
    private String ancestors;

    private String deptName;

    private String customName;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("pactNo", getPactNo())
            .append("deptId", getDeptId())
            .append("firstRelation", getFirstRelation())
            .append("firstPhone", getFirstPhone())
            .append("partyDept", getPartyDept())
            .append("leaseType", getLeaseType())
            .append("legalPerson", getLegalPerson())
            .append("fixedPhone", getFixedPhone())
            .append("partyPerson", getPartyPerson())
            .append("partyPhone", getPartyPhone())
            .append("partyAdd", getPartyAdd())
            .append("communityId", getCommunityId())
            .append("floorId", getFloorId())
            .append("unitId", getUnitId())
            .append("roomId", getRoomId())
            .append("chargeItemId", getChargeItemId())
            .append("costMoney", getCostMoney())
            .append("chargePeriod", getChargePeriod())
            .append("forPayeeTime", getForPayeeTime())
            .append("ancestors", getAncestors())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
